Nonlinearity compensation for reception of ofdm signals

ABSTRACT

An electronic receiver may comprise nonlinear distortion modeling circuitry, interference estimation circuitry, and sequence estimation circuitry. The receiver may receive an orthogonal frequency division multiplexing (OFDM) symbol in the form of an electromagnetic signal. The nonlinear distortion modeling circuitry may generate a nonlinear distortion model that models nonlinear distortion introduced to the received electromagnetic signal en route to the sequence estimation circuitry. The interference estimation circuitry may estimate inter-subcarrier interference present in the received OFDM symbol based on the generated nonlinear distortion model. The estimating of the inter-subcarrier interference may comprise applying the nonlinear distortion model to one or more candidate vectors generated by the sequence estimation circuitry. The sequence estimation circuitry may sequentially process a plurality of received virtual subcarrier values of the OFDM symbol using the estimated inter-subcarrier interference.

CLAIM OF PRIORITY

This application is a continuation of U.S. patent application Ser. No.14/298,373, filed Jun. 6, 2014 (now patented as U.S. Pat. No.8,891,701).

INCORPORATION BY REFERENCE

The entirety of U.S. Pat. No. 8,781,008 titled“Highly-Spectrally-Efficient Transmission Using Orthogonal FrequencyDivision Multiplexing” is hereby incorporated herein by reference.

BACKGROUND

Limitations and disadvantages of conventional approaches to reception ofsignals in the presence of nonlinear distortion will become apparent toone of skill in the art, through comparison of such approaches with someaspects of the present method and system set forth in the remainder ofthis disclosure with reference to the drawings.

BRIEF SUMMARY

Methods and systems are provided for nonlinearity compensation forreception of OFDM signals, substantially as illustrated by and/ordescribed in connection with at least one of the figures, as set forthmore completely in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example transmitter operable to generate inter-carriercorrelated (ICI) orthogonal frequency divisions multiplexed (OFDM)signals.

FIG. 2 shows an example receiver operable to recover information fromreceived ICI OFDM signals.

FIG. 3 shows an example implementation of the reduced state sequenceestimation (RSSE) circuitry of FIG. 2.

FIG. 4A shows a first example implementation of the nonlinear distortionmodel determination circuitry of FIG. 2.

FIG. 4B shows a second example implementation of the nonlineardistortion model determination circuitry of FIG. 2.

FIG. 5 shows a first example implementation of the interferenceestimation circuitry of FIG. 2 for use with a generalized third-ordernonlinear distortion model.

FIG. 6 shows a first example implementation of the interferenceestimation circuitry of FIG. 2 for use with a digital clipping nonlineardistortion model.

FIGS. 7A-7D show an example implementation in which the receiver of FIG.2 performs two or more iterations over the subcarriers of an OFDM symbolto recover the data of the OFDM symbol in the presence of nonlineardistortion.

DETAILED DESCRIPTION

As utilized herein the terms “circuits” and “circuitry” refer tophysical electronic components (i.e. hardware) and any software and/orfirmware (“code”) which may configure the hardware, be executed by thehardware, and or otherwise be associated with the hardware. As usedherein, for example, a particular processor and memory may comprise afirst “circuit” when executing a first one or more lines of code and maycomprise a second “circuit” when executing a second one or more lines ofcode. As utilized herein, “and/or” means any one or more of the items inthe list joined by “and/or”. As an example, “x and/or y” means anyelement of the three-element set {(x), (y), (x, y)}. As another example,“x, y, and/or z” means any element of the seven-element set {(x), (y),(z), (x, y), (x, z), (y, z), (x, y, z)}. As utilized herein, the terms“e.g.,” and “for example” set off lists of one or more non-limitingexamples, instances, or illustrations. As utilized herein, circuitry is“operable” to perform a function whenever the circuitry comprises thenecessary hardware and code (if any is necessary) to perform thefunction, regardless of whether performance of the function is disabled,or not enabled, by some user-configurable setting.

FIG. 1 shows an example transmitter operable to generate inter-carriercorrelated (ICI) orthogonal frequency divisions multiplexed (OFDM)signals. Shown is a transmitter that comprises encoder circuitry 102,mapper circuitry 104, inter-subcarrier interference (ICI) generationcircuitry 106, inverse fast Fourier transform (IFFT) circuit 108, andanalog front end (AFE) 110.

The encoder circuitry 102 receives a vector of bits B′ which are thebits of a particular OFDM symbol. The encoder circuitry 102 converts thebits B′, to a vector of bits B, in accordance with a forward errorcorrection (FEC) algorithm (e.g., Reed-Solomon, Low-Density ParityCheck, Turbo, and/or the like).

The mapper circuit 104, is operable to map the vector B to a vector Aaccording to a selected modulation scheme. For example, for a quadratureamplitude modulation (QAM) scheme having an alphabet size of M (M-QAM),the mapper may map each Log₂ (M) bits of B to a value represented as acomplex number and/or as in-phase (I) and quadrature-phase (Q)components. Although M-QAM is used for illustration in this disclosure,aspects of this disclosure are applicable to any modulation scheme(e.g., pulse amplitude modulation (PAM), amplitude shift keying (ASK),phase shift keying (PSK), frequency shift keying (FSK), etc.).Additionally, points of the M-QAM constellation may be regularly spaced(“on-grid”) or irregularly spaced (“off-grid”). Furthermore, theconstellation used by the mapper 104 may be optimized for best bit-errorrate (BER) performance (or adjusted to achieve a target BER) that isrelated to log-likelihood ratio (LLR) and to optimizing mean mutualinformation bit (MMIB) (or achieving a target MMIB).

The ISC generation circuitry 106 is operable to process A to generate avector C. The elements of A are referred to herein as “virtualsubcarrier values” of the particular OFDM symbol and the elements of Care referred to herein as the corresponding “physical subcarrier values”of the particular OFDM symbol, where: the vector A comprises N values,the vector C comprises P values, N and P are positive integers, N≧2, andN≧P. The N elements of A are represented herein as a₁:a_(N), with anyparticular one of the values represented as a_(n). The P elements of Care represented herein as c₁:c_(P), with any particular one of thevalues represented as c_(P). In an example implementation, theprocessing performed by the circuitry 106 may comprise cyclic filteringand/or decimation such that each of the ISC values of C depends on aplurality (perhaps all) of the elements of A. In an exampleimplementation, the circuitry 106 may be similar to, or the same as,circuits 104 and 106 of the above incorporated Unites States PatentApplication Publication US2013/0343473. In an example implementation, Δ(an integer) pilot symbols may be inserted at the IFFT and the totalnumber of physical subcarriers may be P+Δ, where P is thus the quantityof data-carrying subcarriers.

The inverse fast Fourier transform (IFFT) circuit 108 is operable toconvert the physical subcarrier value vector C (of length P) to acorresponding vector of P time-domain samples (i.e., the time-domainrepresentation of the particular OFDM symbol).

The analog front end (AFE) 110 is operable to convert the P time-domainvalues output by IFFT 108 to an analog representation, upconvert theresulting analog signal, and amplify the upconverted signal fortransmission onto a channel 112. Thus, the transmitter front-end 118 maycomprise, for example, a digital-to-analog converter (DAC), mixer,and/or power amplifier. The front-end 118 may introduce nonlineardistortion and/or phase noise (and/or other non-idealities) to thetransmitted signal 117. The nonlinear distortion introduced by thecircuit 118 may be represented as NL_(Tx) which may be, for example, apolynomial, or an exponential (e.g., Rapp model). The model of thenonlinear distortion may incorporate memory (e.g., Volterra series). Thetransmitted values C, after being converted to the time domain,experiencing the nonlinear distortion introduced by the AFE 110, andpassing through the channel 112 (which may also introduce nonlineardistortion and/or noise), emerge as a signal 113.

FIG. 2 shows an example receiver operable to recover information fromreceived ICI OFDM signals. The receiver comprises an analog front-end202, time domain preprocessing circuitry 204, a fast Fourier transform(FFT) circuit 208, frequency domain preprocessing circuitry 206,nonlinear distortion model determination circuitry 214, interferenceestimation circuitry 210, and reduced state sequence estimation (RSSE)circuitry 212.

The AFE 202 is operable to process the signal 113 corresponding to aparticular OFDM signal to a vector of S′ samples of the particular OFDMsymbol. Such processing may comprise, amplification, downconversion (toIF or baseband), and analog-to-digital conversion. Thus, the receiverfront-end 202 may comprise, for example, a low-noise amplifier, a mixer,and/or an analog-to-digital converter. The AFE 202 may, for example,sample the received signal 113 P times per OFDM symbol period resultingin a S′ of length P (where pilot symbols are used, the AFE 202 maysample P+Δ times per OFDM symbol). Due to non-idealities, the receiverfront-end 202 may introduce nonlinear distortion and/or phase noise tothe signal S′. The nonlinear distortion introduced by the front end 202may be represented as NL_(Rx) which may be, for example, a polynomial,or an exponential (e.g., Rapp model). The model of the nonlineardistortion may incorporate memory (e.g., Volterra series).

The time domain preprocessing circuitry 204 is operable to performtime-domain processing of the samples S′ to generate received physicalsubcarrier value vector S. Such processing may include, for example,timing acquisition, phase correction, frequency correction, decimation,DC removal, IQ mismatch correction, filtering, windowing, removal ofpilot symbols, cyclic prefix removal, and/or the like.

The FFT 208 is operable to convert the time-domain physical subcarriervalue vector S (of length P) to a corresponding vector of Pfrequency-domain samples (i.e., convert the time-domain representationof S to the frequency-domain representation of S).

The frequency domain preprocessing circuitry 206 is operable to performfrequency domain processing of the output of the FFT 208 to generate avector Y, which is a vector of N received virtual subcarrier values.Such processing may include, for example, performing the inverse of theICI generation circuitry 106 (FIG. 1), and performing per-subcarrierequalization. The elements of Y are represented herein as y₁:y_(N), withany particular one of the values represented as y_(n).

The RSSE circuitry 212 is operable to perform reduced state sequenceestimation on the vector Y to generate a vector {circumflex over (A)}which is the receiver's decision vector (“best guess” as to thetransmitted virtual subcarrier value vector A). Details of an exampleimplementation of RSSE circuitry 212 are described below with referenceto FIG. 3.

The nonlinear distortion model determination circuitry 214 is operableto determine a model, NL, that represents/enables reproduction of (to adesired accuracy) the nonlinear distortion experienced by the signal S′in the transmitter, the channel, and/or the receiver. In an exampleimplementation, the nonlinear distortion introduced by the AFE 110 ofthe transmitter may be dominant and NL may be a representation ofNL_(Tx). The nonlinear distortion model, NL, may be, for example, alogical and/or mathematical expression, a look-up table, and/or anyother suitable representation of the nonlinear distortion. Any one ormore of a variety of model types may be used for NL, with each modeltype being characterized by one or more parameters. The model typeand/or parameter values may be communicated directly by the transmitter(e.g., during handshaking) and/or may be learned by the receiver byprocessing signals received from the transmitter (e.g., selection of themodel type and/or training of the parameter values may be based onpreambles sent by the transmitter). In an example implementation, NL maycomprise an AM/AM parameter whose value is dependent on transmittedsignal strength, and an AM/PM parameter whose value is dependent ontransmitted signal strength. In such an example implementation, receivedsignal strength may be used as a proxy for transmitted signal strengthand the received signal strength may be applied to the look-up table todetermine appropriate values of the AM/AM and AM/PM parameters.

The interference estimation circuitry 210 is operable to estimate theinterference, F, present in the received virtual subcarrier values Y,based on Y and based on NL. Details of example implementations of 210are described below with reference to FIGS. 5 and 6.

FIG. 3 shows an example implementation of the reduced state sequenceestimation (RSSE) circuitry of FIG. 2. The example RSSE circuitry 212shown in FIG. 3 comprises nonlinear distortion circuitry 302, metriccalculation circuitry 306, survivor selection circuitry 308, bufferingcircuitry 310, successor generation circuitry 312, and bufferingcircuitry 314. FIG. 2 depicts the RSSE circuitry 212 processing receivedvirtual subcarrier value having index n (where 1≦n≦N) of a particularOFDM symbol.

The buffer circuitry 310 is operable to, upon completion of processing aparticular received virtual subcarrier value of the OFDM symbol beingprocessed, latch the selected survivor vectors such that those survivorsare available for processing the next received virtual subcarrier valueof the OFDM symbol. Thus, in FIG. 3, which shows processing of receivedvirtual subcarrier value having index n, the survivors selected uponcompletion of processing the received virtual subcarrier value havingindex n−1 ({circumflex over (A)}_(n−1) ¹:{circumflex over (A)}_(n−1)^(M)) are latched by the buffer 310 and output to the successorgeneration circuitry 312. Each survivor {circumflex over (A)}_(n−1) ^(m)comprises up to n elements corresponding to one or more of subcarriers 0through n−1. Elements of survivor {circumflex over (A)}_(n−1) ^(m) arerepresented herein as â₀ ^(m):â_(D) ^(m), where D is the memory depth ofthe RSSE circuitry.

The successor generation circuitry 312 is operable to extend each of theM survivors from the previous iteration, {circumflex over (A)}_(n−1)^(m), to K successors, resulting in successors Ĝ={circumflex over(G)}_(n) ^(1,1):{circumflex over (G)}_(n) ^(M,K). Elements of successorvector {circumflex over (G)}_(n) ^(m,k) are represented herein as ĝ₀^(m,k):ĝ_(D) ^(m,k), where ĝ₀ ^(m,k) is the element by which survivor{circumflex over (A)}_(n−1) ^(m) was extended to create successor{circumflex over (G)}_(n) ^(m,k). The number of successors generatedthus depends on the number of survivors, M, retained for each receivedvirtual subcarrier value and the number of possible symbol transmittedvirtual subcarrier values for which it is desired to search. Highervalues of M and K may achieve improved results at the expense ofincreased size and complexity. In an example implementation, the valueof K may be chosen to be the size of the constellation used by mapper104 (FIG. 1) (e.g., for 64QAM K may be set to 64) such that eachsurvivor is extended by each possible transmitted virtual subcarriervalue.

The nonlinear distortion circuitry 302 is operable to, for each of theM×K successors {circumflex over (G)}_(n) ^(m,k), generate a candidatevector {circumflex over (C)}_(n) ^(m,k) by introducing nonlineardistortion to the successor G _(n) ^(m,k). Elements of candidate vector{circumflex over (C)}_(n) ^(m,k) are represented herein as ĉ₀^(m,k):ĉ_(D) ^(m,k), where ĉ₀ ^(m,k) is the estimated constellationsymbol of the (m,k) candidate for subcarrier index n, ĉ₁ ^(m,k) is theestimated constellation symbol of the (m,k) candidate for subcarrierindex n−1, and so on (where n is less than D, D−n elements may be valuesfrom an initialization of the RSSE circuitry).

The nonlinear distortion introduced to each successor is determinedbased on NL from the nonlinear distortion model determination circuitry214 (FIGS. 1, 4A, and 4B). In this manner, the circuitry 302 attempts toreproduce (to desired/necessary accuracy) the nonlinear distortionexperienced by the signal 113 (or S′ where nonlinear distortion of theAFE 202 is accounted for in NL)).

The metric calculation circuitry 306 is operable to calculate branch apath metric, PM_(n) ^(m,k) for each of the candidates {circumflex over(C)}_(n) ^(1,1):{circumflex over (C)}_(n) ^(M,K), and output the pathmetrics to the survivor selection circuitry 308. The path metric forcandidate {circumflex over (C)}_(n) ^(m,k) may be calculated as PM_(n)^(m,k)=BM_(n) ^(m,k)+PM_(n−1) ^(m,k), where BM_(n) ^(m,k) is the branchmetric for candidate {circumflex over (C)}_(n) ^(m,k). The branch metricfor candidate {circumflex over (C)}_(n) ^(m,k) may be calculated basedon F. The manner in which the branch metric is calculated varies fordifferent implementations. Some example branch metric calculations aredescribed below with reference to FIGS. 5, 6, 7B, 7C, and 7D.

The survivor selection circuitry 308 is operable to compare the pathmetrics for each of the candidates {circumflex over (C)}_(n)^(1,1):{circumflex over (C)}_(n) ^(M,K) and select the M best candidates(corresponding to the M best path metrics) as the survivors Â_(n)¹:Â_(n) ^(M).

The buffer circuitry 314 is operable to buffer samples of signal Yand/or initialization samples and may shift the samples out as signal Y_(n). For example, the first n elements of Y _(n) may be equal to thefirst n elements of Y and the remaining (D−n) elements of Y _(n) may beknown values used for initialization of the RSSE circuitry.

FIG. 4A shows a first example implementation of the nonlinear distortionmodel determination circuitry of FIG. 2. The example implementation ofnonlinear distortion model determination circuitry 214 shown in FIG. 4Acomprises circuitry 402 operable to estimate the nonlinear distortionexperienced by S (the output of time-domain processing circuitry 204 inFIG. 2) in the time domain. The estimation of the nonlinear distortionmay be based on, for example, preambles present in S′, the receivedsignal strength of 113, and/or based on control information (e.g., amodel type best suited for the transmitter from which signal 113originated, initial nonlinear distortion model parameters, power levelat signal 113 was transmitted, and/or the like) communicated to thereceiver (e.g., during handshaking and/or in frame headers of S). Oncethe time domain nonlinear distortion model, T, has been determined, itis passed to circuitry 404 which translates it to the frequency domainrepresentation, NL. The frequency domain representation NL is thenoutput by the circuitry 214.

FIG. 4B shows a second example implementation of the nonlineardistortion model determination circuitry of FIG. 2. In the exampleimplementation of FIG. 4B, the frequency domain NL is determined in thefrequency domain directly from Y.

FIG. 5 shows a first example implementation of the interferenceestimation circuitry of FIG. 2 for use with a generalized third-ordernonlinear distortion model. The example implementation of theinterference estimation circuitry 210 in FIG. 5 comprises interferencecalculation circuitry 502.

The notation f_(n) ^(m,k) represents an estimate of the aggregateinterference present in the received virtual subcarrier value havingindex n for candidate {circumflex over (C)}_(n) ^(m,k). The aggregateinterference estimate may, for example, be a complex number representingthe magnitude and phase of the interference. The notation F representsthe vector (of length M×K) of aggregate interference estimates for allof the candidates {circumflex over (C)}_(n) ^(1,1):{circumflex over(C)}_(n) ^(M,K) (i.e., F=f_(n) ^(1,1):f_(n) ^(M,K)). In some instances,the estimated aggregate interference may depend only on n (the receivedvirtual subcarrier index) and may be the same for all of the candidates{circumflex over (C)}_(n) ^(1,1):{circumflex over (C)}_(n) ^(M,K) (i.e.,each of the estimates f_(n) ^(1,1):f_(n) ^(M,K) takes on the samevalue), but in other instances, the interference estimates may differamong the candidates {circumflex over (C)}_(n) ^(1,1):{circumflex over(C)}_(n) ^(M,K).

In a first variation, the aggregate interference estimate for candidate{circumflex over (C)}_(n) ^(m,k) may be calculated exhaustively takinginto account each of the other N−1 virtual subcarriers. This exhaustivecalculation may comprise calculating f_(n) ^(m,k)=αΣ_(i=0) ^(N−1)Σ_(j=0) ^(N−1) z_(i)·z_(j)*·z_(n−1+j), where: α is a parameter (orvector of parameters) determined by nonlinear model determination block208, z_(i)=y_(i) for i≧n; z_(i)=g_(i) ^(m,k) for i<n; z_(j)=y_(j) forj≧n, z_(j)=g_(j) ^(m,k) for j<n, y_(i) is a received virtual subcarriervalue for subcarrier having index i, y_(j) is the received virtualsubcarrier value for subcarrier having index j, g_(i) ^(m,k) is thedecision for the subcarrier having index i for the (m,k) candidate,where g_(i) ^(m,k) is the decision the subcarrier having index j for the(m,k) candidate.

In a second variation, the aggregate interference estimate for candidate{circumflex over (C)}_(n) ^(m,k) may be calculated taking into accountonly a selected subset of the other N−1 virtual subcarriers. This mayreduce the amount of calculations necessary. This selective calculationmay comprise calculating f_(n) ^(m,k)=αΣ_(iεQ)Σ_(jεQ)z_(i)·z_(j)*·z_(n−i∓j), where α is a parameter (or vector of parameters)determined by nonlinear model determination block 208, Q is a subset ofthe set 1:N; z_(x)=y_(x) for x≧n, z_(x)=g_(x) ^(m,k) for x<n, and x isused as a generic for i and j. For example, only indexes of virtualsubcarriers having power above a determined threshold may be included inthe set Q (based on the assumption that low-energy virtual subcarrierswill experience relatively little nonlinear distortion and thus notcontribute a lot of interference). The smaller the size of Q relative tothe size of N, the more this selective calculation will reducecomputational complexity/overhead.

Thus, common to both variations above is that, when calculating theinterference present in received virtual subcarrier having index n dueto another virtual subcarrier having index x for candidate {circumflexover (C)}_(n) ^(m,k), if a decision as to a transmitted virtualsubcarrier having index x has already been generated by the RSSEcircuitry (i.e., x<n), then the decided value of x (i.e., g_(x) ^(m,k))is used in the calculation, but if a decision as to a transmittedvirtual subcarrier having index x has not yet been generated by the RSSEcircuitry (i.e., x>n), then the received virtual subcarrier value havingindex x (i.e., y_(x)) is used for the calculation (based on theassumption that the interference in that received signal is relativelysmall compared to the desired signal and, therefore, error introduced istolerable).

Once the estimated aggregate interference f_(n) ^(m,k) has beendetermined, the branch metric (represented as BM_(n) ^(m,k)) forcandidate {circumflex over (C)}_(n) ^(m,k) may be calculated. In anexample implementation, the following expression may be used: BM_(n)^(m,k)=|y_(n)−ĉ₀ ^(m,k)−f_(n) ^(m,k)|².

FIG. 6 shows a first example implementation of the interferenceestimation circuitry of FIG. 2 for use with a digital clipping nonlineardistortion model. In FIG. 6, the interference estimation circuitry 210comprises clipped subcarrier determination circuit 602 and interferenceestimation circuit 604.

The clipped subcarrier determination circuit 602 is operable todetermine which transmitted virtual subcarriers values were digitallyclipped in the transmitter during the transmission that resulted insignal 113. The circuit 602 then outputs the indexes of the clippedsubcarriers to the circuit 604 as vector I. In an exampleimplementation, the transmitter may directly send such information(e.g., in a header) and the circuit 602 may simply extract theinformation. In another example implementation, the circuit 602 maydetermine which transmitted virtual subcarrier values were digitallyclipped based on the magnitude of the received virtual subcarriervalues.

With a digital clipping model, the interference F may be determined byNL and I. Thus, once the circuitry 604 has been provided NL and I for aparticular OFDM symbol, calculation of F may be straightforward (withmuch less computational complexity/overhead than for the implementationdescribed with reference to FIG. 5). Once F is determined, the branchmetric for candidate {circumflex over (C)}_(n) ^(m,k) may be calculated.The calculation of the interference may be simplified as compared to thecalculation described with reference to FIG. 5. In an exampleimplementation, it may be calculated using the following expression:BM_(n) ^(m,k)=|y_(n)−ĉ₀ ^(m,k)−f_(n)|², which is substantially similarto the branch metric expression presented above with reference to FIG. 5but with the m and k superscripts left off of the interference term toindicate that the estimated aggregate interference present in thereceived virtual subcarrier having index n is the same for allcandidates.

FIGS. 7A-7D show an example implementation in which the receiver of FIG.2 performs two or more iterations over the OFDM symbol to generatedecisions as to the transmitted virtual subcarrier values of the OFDMsymbol in the presence of nonlinear distortion. Shown in FIG. 7A isanother example implementation of interference estimation circuitry 210,which comprises nonlinear distortion circuitry 702 and combiner 704.

The nonlinear distortion circuitry 702 is operable to introducenonlinear distortion to the received virtual subcarrier vector Y togenerate Y′. The nonlinear distortion introduced is determined based onNL from the nonlinear distortion model determination circuitry 214(FIGS. 1, 4A, and 4B). In this manner, the circuitry 702 attempts toreproduce (to desired/necessary accuracy) the nonlinear distortionexperienced by the signal 113 (or the signal S′ where nonlineardistortion of the AFE 202 is accounted for in NL).

The combiner 704 combines Y and Y′ such that the output is thedifference between Y and Y′. In this example implementation, the outputof combiner 704 is {circumflex over (F)}—an initial approximation of theinterference introduced by the nonlinear distortion experienced by Y. Itis acknowledged that, because there is interference present in Y as aresult of the nonlinear distortion that Y experienced en route to thecircuitry 210 (at least a portion of which NL is attempting to model),this {circumflex over (F)} is not going to be an exact measure of theactual interference present in Y. Nevertheless, if the strength of theinterference present in Y is relatively small compared to the desiredsignal strength, the amount of additional interference contributed bythe existing interference during application of NL may be small enoughthat {circumflex over (F)} is a suitable approximation.

Once {circumflex over (F)} is calculated as in FIG. 7A, a firstiteration of processing the particular OFDM symbol is carried out by theRSSE circuitry 212 as shown in FIG. 7B. As is shown, during the firstiteration on the particular OFDM symbol, {circumflex over (F)} is inputto the metric calculation circuitry 306, and the N subcarriers areprocessed sequentially. For each subcarrier n, the sequential processingduring the first iteration on the particular OFDM symbol comprises:extending, by successor generation circuitry 312, each of the M selectedsurvivors ({circumflex over ({circumflex over (A)}_(n−1) ¹:{circumflexover ({circumflex over (A)}_(n−1) ^(M)) from the previous subcarrier toK successors ({circumflex over ({circumflex over (G)}_(n)^(1,1):{circumflex over ({circumflex over (G)}_(n) ^(M,K)); distorting,by nonlinear distortion circuitry 302, each of the M×K successors togenerate candidates {circumflex over ({circumflex over (C)}_(n)^(1,1):{circumflex over ({circumflex over (C)}_(n) ^(M,K); calculating,by metrics calculation circuitry 306, metrics for each candidate{circumflex over ({circumflex over (C)}_(n) ^(m,k) using {circumflexover (F)}; and selecting, by survivor selection circuitry 308, the Mbest survivors {circumflex over ({circumflex over (A)}_(n) ¹:{circumflexover ({circumflex over (A)}_(n) ^(M). Thus, the metrics for candidate{circumflex over ({circumflex over (C)}_(n) ^(m,k) during the firstiteration on the particular OFDM symbol are based on {circumflex over(â)}₀ ¹:{circumflex over (â)}_(n−1) ^(M) and y_(n+1):y_(N) (as a resultof using {circumflex over (F)}). Upon completing processing of all Nsubcarriers, the M selected survivors are {circumflex over ({circumflexover (A)}_(N) ¹:{circumflex over ({circumflex over (A)}_(N) ^(M). Insome instances, the accuracy of these survivors may be improved via oneor more additional iterations over the particular OFDM symbol. FIGS. 7Cand 7D illustrate an embodiment where a second iteration is performed inan attempt to improve the reliability of the estimates.

As is shown, in FIG. 7C, for the second iteration on the particular OFDMsymbol, {circumflex over (Â)}_(n) ¹ (rather than Y as was used in FIG.7A) is used by circuitry 702 and 704 for calculating F, which, as shownin FIG. 7D, is then input to metric calculation circuitry 306 forcalculating metrics during the second iteration on the particular OFDMsymbol.

During the second iteration on the particular OFDM symbol, thesuccessors are processed similarly to the first iteration. For eachsubcarrier n, the sequential processing during the second iteration onthe particular OFDM symbol comprises: extending, by successor generationcircuitry 312, each of the M selected survivors ({circumflex over(A)}_(n−1) ¹:{circumflex over (A)}_(n−1) ^(M)) from the previoussubcarrier to K successors ({circumflex over (G)}_(n) ^(1,1):{circumflexover (G)}_(n) ^(M,K)); distorting, by nonlinear distortion circuitry302, each of the M×K successors to generate candidates {circumflex over(C)}_(n) ^(1,1):{circumflex over (C)}_(n) ^(M,K); calculating, bymetrics calculation circuitry 306, metrics for each candidate{circumflex over (C)}_(n) ^(m,k) using {circumflex over (F)}; andselecting, by survivor selection circuitry 308, the M best survivors{circumflex over (A)}_(n) ¹:{circumflex over (A)}_(n) ^(M). Thus, themetrics for candidate {circumflex over (C)}_(n) ^(m,k) during the firstiteration on the particular OFDM symbol are based on â₀ ¹:â_(n−1) ^(M)and {circumflex over (â)}_(n+1) ¹:{circumflex over (â)}_(N) ^(M) (as aresult of using F). Upon completing processing of all N subcarriers, theM selected survivors are {circumflex over (A)}_(N) ¹:{circumflex over(A)}_(N) ^(M), and the best of these (Â_(N) ¹) is selected for output todownstream circuitry such as a FEC decoder. In other implementations,additional iterations may be performed to refine these survivors evenfurther.

In accordance with an example implementation of this disclosure, anelectronic receiver (e.g., 200) may comprise nonlinear distortionmodeling circuitry (e.g., 214), interference estimation circuitry (e.g.,210), and sequence estimation circuitry (e.g., 212). The receiver mayreceive an orthogonal frequency division multiplexing (OFDM) symbol inthe form of an electromagnetic signal (e.g., 113). The nonlineardistortion modeling circuitry may generate a nonlinear distortion model(e.g., NL) that models nonlinear distortion introduced to the receivedelectromagnetic signal en route to the sequence estimation circuitry.The interference estimation circuitry may estimate inter-subcarrierinterference present in the received OFDM symbol based on the generatednonlinear distortion model. The sequence estimation circuitry maysequentially process a plurality of received virtual subcarrier values(e.g., Y) of the OFDM symbol using the estimated inter-subcarrierinterference. The processing may result in decisions as to a pluralityof transmitted virtual subcarrier values (e.g., Â_(n) ¹) that correspondto the plurality of received virtual subcarrier values. The estimatingof the inter-subcarrier interference may comprise applying the nonlineardistortion model to one or more candidate vectors (e.g., G _(n) ^(m,k))generated by the sequence estimation circuitry. The estimating of theinter-subcarrier interference may comprise determining which one or moreof the transmitted virtual subcarrier values were digitally clipped in atransmitter from which the received electromagnetic signal originated.The estimating of the inter-subcarrier interference may comprisecalculating the inter-subcarrier interference based on which one or moreof the plurality of transmitted virtual subcarrier values were digitallyclipped in the transmitter and based on the generated nonlineardistortion model. The determining which one or more of the plurality oftransmitted virtual subcarrier values were digitally clipped in thetransmitter may comprise determining magnitude of each of the pluralityof received virtual subcarrier values. The estimating of theinter-subcarrier interference may comprise applying the nonlineardistortion model to the received electromagnetic signal to generate anintermediate electromagnetic signal (e.g., Y′). The estimating of theinter-subcarrier interference may comprise subtracting the receivedelectromagnetic signal from the intermediate electromagnetic signal, aresult of the subtraction being the estimate of the inter-subcarrierinterference. The plurality of received virtual subcarrier values maycomprise a first received virtual subcarrier value (e.g., y₀) and asecond received virtual subcarrier value (e.g., y₁). The sequentialprocessing may comprise processing the first received virtual subcarriervalue to generate a decision as to a first one of the plurality oftransmitted virtual subcarrier values (e.g., â₀ ¹) using an estimate ofinterference present in the first received virtual subcarrier value(e.g., f₀) that is based on the second received virtual subcarriervalue. The sequential processing may comprise processing the secondreceived virtual subcarrier value to generate a decision as to a secondone of the plurality of transmitted virtual subcarrier values (e.g., â₁¹) using an estimate of interference present in the second receivedvirtual subcarrier value (e.g., f₁) that is based on the generateddecision as to the first one of the plurality of transmitted virtualsubcarrier values. The plurality of received virtual subcarrier valuesmay comprise a third received virtual subcarrier value (e.g., y₂). Theestimate of interference present in the second received virtualsubcarrier value may be based on the third received virtual subcarriervalue. The sequential processing may comprise processing the thirdreceived virtual subcarrier value to generate a decision as to a thirdone of the plurality of transmitted virtual subcarrier values (e.g., â₂¹) using an estimate of interference present in the third receivedvirtual subcarrier value (e.g., f₃) that is based on the generateddecision as to the first one of the plurality of transmitted virtualsubcarrier values and on the generated decision as to the second one ofthe plurality of transmitted virtual subcarrier values. The sequentialprocessing may comprise generating a plurality of branch metrics (e.g.,BM₀ ^(1,1):BM_(N−1) ^(M,K)), wherein each of the plurality of branchmetrics is based on a corresponding one of the received virtualsubcarrier values, a candidate vector generated by the sequenceestimation circuitry, and the estimated inter-subcarrier interference.For each of the plurality of received virtual subcarrier values, theestimating of the inter-subcarrier interference may considers all othersof the received virtual subcarrier values or only a subset of all othersof the plurality of received virtual subcarrier values. The subset ofall others of the plurality of received virtual subcarrier values maycorrespond to those of the plurality of received virtual subcarriervalues having a magnitude above a determined threshold.

The present method and/or system may be realized in hardware, software,or a combination of hardware and software. The present methods and/orsystems may be realized in a centralized fashion in at least onecomputing system, or in a distributed fashion where different elementsare spread across several interconnected computing systems. Any kind ofcomputing system or other apparatus adapted for carrying out the methodsdescribed herein is suited. A typical combination of hardware andsoftware may be a general-purpose computing system with a program orother code that, when being loaded and executed, controls the computingsystem such that it carries out the methods described herein. Anothertypical implementation may comprise an application specific integratedcircuit or chip. Some implementations may comprise a non-transitorymachine-readable (e.g., computer readable) medium (e.g., FLASH drive,optical disk, magnetic storage disk, or the like) having stored thereonone or more lines of code executable by a machine, thereby causing themachine to perform processes as described herein.

While the present method and/or system has been described with referenceto certain implementations, it will be understood by those skilled inthe art that various changes may be made and equivalents may besubstituted without departing from the scope of the present methodand/or system. In addition, many modifications may be made to adapt aparticular situation or material to the teachings of the presentdisclosure without departing from its scope. Therefore, it is intendedthat the present method and/or system not be limited to the particularimplementations disclosed, but that the present method and/or systemwill include all implementations falling within the scope of theappended claims.

1-20. (canceled)
 21. A receiver comprising: an analog front end circuit operable to receive a nonlinearly distorted orthogonal frequency division multiplexed (OFDM) symbol that is a result of a plurality of symbols transmitted on a plurality of subcarriers; nonlinear distortion modeling circuitry operable to generate a model of nonlinear distortion introduced to said OFDM symbol by a transmitter, wherein a result of said nonlinear distortion is inter-subcarrier interference in said received OFDM symbol; and circuitry operable to: iteratively calculate metrics based on said received OFDM symbol and said model of nonlinear distortion; and determine values of said symbols based on said metrics.
 22. The receiver of claim 21, wherein said model of said nonlinear distortion is a digital clipping model.
 23. The receiver of claim 21, wherein said model of said nonlinear distortion is stored in memory of said receiver as a mathematical and/or logical expression.
 24. The receiver of claim 21, wherein said model of said nonlinear distortion is stored in memory of said receiver as a look-up table.
 25. The receiver of claim 24, wherein said look-up table is indexed based on a transmitted signal power parameter.
 26. The receiver of claim 21, wherein said generation of said model is based on control information received from a transmitter from which said OFDM symbol originated.
 27. The receiver of claim 26, wherein said control information comprises an identification of a type of nonlinear distortion model best suited for use with said OFDM symbol.
 28. The receiver of claim 26, wherein said control information comprises initial values for parameters of said model of said nonlinear distortion model.
 29. The receiver of claim 26, wherein said control information is received during handshaking with said transmitter.
 30. The receiver of claim 26, wherein said control information is received in a preamble of said OFDM symbol.
 31. A method comprising: in a receiver: receiving, by an analog front end circuit, a nonlinearly distorted orthogonal frequency division multiplexed (OFDM) symbol that is a result of a plurality of symbols transmitted on a plurality of subcarriers; generating, by nonlinear distortion modeling circuitry, a model of nonlinear distortion introduced to said OFDM symbol by a transmitter, wherein a result of said nonlinear distortion is inter-subcarrier interference in said received OFDM symbol; iteratively calculating, by circuitry of said receiver, metrics based on said received OFDM symbol and said model of nonlinear distortion; and determining, by circuitry of said receiver, values of said symbols based on said metrics.
 32. The method of claim 31, wherein said model of said nonlinear distortion is a digital clipping model.
 33. The method of claim 31, wherein said model of said nonlinear distortion is stored in memory of said receiver as a mathematical and/or logical expression.
 34. The method of claim 31, wherein said model of said nonlinear distortion is stored in memory of said receiver as a look-up table.
 35. The method of claim 34, wherein said look-up table is indexed based on a transmitted signal power parameter.
 36. The method of claim 31, wherein said generating said model is based on control information received from a transmitter from which said OFDM symbol originated.
 37. The method of claim 36, wherein said control information comprises an identification of a type of nonlinear distortion model best suited for use with said OFDM symbol.
 38. The method of claim 36, wherein said control information comprises initial values for parameters of said model of said nonlinear distortion model.
 39. The method of claim 36, comprising receiving said control information during handshaking with said transmitter.
 40. The method of claim 36, comprising receiving said control information in a preamble of said OFDM symbol. 